Barcode characters are used to encode information in a form that is readable by a barcode scanning machine. Typically, a barcode character includes alternating areas of black and white in various shapes and sizes to encode letters and/or numbers. White areas of a barcode tend to reflect light, while black areas of a barcode tend to absorb light. A barcode scanner reads a barcode by emitting light on the barcode and detecting a pattern of reflected light reflected from the barcode.
Typically, a barcode scanner (including associated decoding logic) can consistently read a range of shapes or sizes of black and white bars. Barcodes that are too small and barcodes that are too large for the scanner may not be read correctly. For many types of barcode scanners, this range is specified by a number of bars per inch (bpi) the scanners are equipped to handle. Typically, the bars per inch specification includes an optimum point and a tolerance range. For example, the United States Postal Service (USPS) uses a barcode scanning system called Merlin to read zip codes on bulk mailings. The Merlin system has a bars per inch specification of 22 bpi±2 bpi. Mail that includes a destination zip code in barcode format that can be read by the Merlin system receives a discounted postal rate. Mail that is rejected by the Merlin system for failure to read the bar-coded zipcode does not receive the discounted postal rate.
Many printers used to print barcodes create the black areas of the barcode by printing a plurality of black dots called pixels. However, printers are typically only capable of printing some finite number of black dots or pixels within a predetermined area. Typically, the resolution associated with a printer is specified as the maximum dots per inch (dpi) of the printer. For example, a Scitex printer, which is often used to print bar-coded zipcodes on mail, has a dots per inch specification of 120 dpi.
If the printer resolution is relatively large and/or the number of bars per inch desired is relatively low, barcode characters that meet the bpi specification with uniform black bar thickness and uniform white space thickness may be produced by the printer. However, if the printer resolution is relatively low and/or the number of bars per inch desired is relatively high, barcode characters that meet the bpi specification with uniform black bar thickness and uniform white space thickness may not be produced by the printer.